package a4_p04_ak_fh;

import org.jgrapht.WeightedGraph;
import org.jgrapht.graph.DefaultWeightedEdge;

import a2_p04_ak_fh.AttVertex;
import a4_p04_ak_fh.GraphVis;
import a2_p04_ak_fh.IOHelper;

public class Aufgabe4 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		IOHelper IOHelper = new IOHelper();
//		WeightedGraph<AttVertex, DefaultWeightedEdge> graph1 = IOHelper.readGraphFile("t1.gka");
//		Hierholzer graphlist = Hierholzer.Calc(graph1);
//		GraphVis.startvis(graph1,1, graphlist.getEulerWay());
//		System.out.println(graphlist.getTimeInMillis());
		
		WeightedGraph<AttVertex, DefaultWeightedEdge> graph3 = RandomEulerGraph.getEulerGraph(200, 10000);
//		WeightedGraph<AttVertex, DefaultWeightedEdge> graph3 = IOHelper.readGraphFile("tconf.gka");
//		WeightedGraph<AttVertex, DefaultWeightedEdge> graph2 = IOHelper.readGraphFile("t1.gka");
//		Fleury graphlist2 = Fleury.Calc(graph2);
//		GraphVis.startvis(graph2,1, graphlist2.getEulerWay());
//		System.out.println(graphlist.getTimeInMillis());
//		
		System.out.println("######FLEURY########");
		Fleury graphlist3 = Fleury.Calc(graph3);
		GraphVis.startvis(graph3,1, graphlist3.getEulerWay());
		System.out.println(graphlist3.getTimeInMillis());
		
		System.out.println("######HIERHOLZER########");
		Hierholzer graphlist4 = Hierholzer.Calc(graph3);
		GraphVis.startvis(graph3,1, graphlist4.getEulerWay());
		System.out.println(graphlist4.getTimeInMillis());
		
		System.out.println("######FLEURY########");
		System.out.println(graphlist3.getTimeInMillis());
		System.out.println("######HIERHOLZER########");
		System.out.println(graphlist4.getTimeInMillis());
		

	}

}
